/**
 * Vue2
 *
 * import VueRouter from 'vue-router'
 * import Vue from 'vue'
 *
 * Vue.use(VueRouter)
 *
 * // 创建路由对象
 * const router = new VueRouter({
 *  mode: 'history',
 *  routes: [
 *    {},
 *    ...
 *  ]
 * })
 *
 * export default router;
 */

import {
  createRouter,
  createWebHistory,
  createWebHashHistory,
  createMemoryHistory,
} from "vue-router";
import { staticRoutes } from "@/router/routes";

/**
 * 通过 createRouter 来创建 router 对象
 */
const router = createRouter({
  // 原 mode 选项变成了 history 了，值不在是一个字符串，现在是一个函数调用后的返回值
  //    这个是用来设置路由所使用的模式：HTML5 History、Hash、Abstract
  //    createWebHistory => HTML5 History
  //    createWebHashHistory => Hash
  //    createMemoryHistory => Abstract
  //    为什么要函数调用的模式，而不是字符串（目的：利于扩展）
  history: createWebHistory(),
  routes: staticRoutes,
  // scrollBehavior : 滚动条滚动行为控制，原来是 {x,y} => 变成了 {top,left}
  scrollBehavior() {
    return { top: 0, left: 0 };
  },
});

// 导出路由
export default router;
